package br.com.requisicao.compra.util;

import br.com.requisicao.compra.canonico.RequisicaoCompra;
import br.com.requisicao.compra.canonico.RequisicaoCompraProduto;

public class StatusPedido {

	public static RequisicaoCompra alteraStatusRequisicaoCompras(RequisicaoCompra requisicaoCompra,
			RequisicaoCompraProduto requisicaoCompraProduto) {
		Boolean isTodosStatusIguais = true;

		if (requisicaoCompra.getRequisicaoCompraProduto() != null) {
			for (RequisicaoCompraProduto rcp : requisicaoCompra.getRequisicaoCompraProduto()) {

				if (rcp.getCodigo().equals(requisicaoCompraProduto.getCodigo())) {
					if (!rcp.getStatusItem().equals(requisicaoCompraProduto.getStatusItem())) {
						rcp.setStatusItem(requisicaoCompraProduto.getStatusItem());
					}
				}

				if (!requisicaoCompraProduto.getStatusItem().equals(rcp.getStatusItem())) {
					isTodosStatusIguais = false;
				}
			}
		}

		if (isTodosStatusIguais) {
			requisicaoCompra.setStatusRequisicao(requisicaoCompraProduto.getStatusItem());
		}

		return requisicaoCompra;
	}
}
